using System;

namespace CLELCore
{
	public interface ICLELReader : IDisposable
	{
		//the users can tell when the return value tells them 
		//they are at the end of the file
		int EOF {get;}
		bool IsLittleEndian {get;set;}
		//string respresntation of reader
		String Path {get;}
		int ReadByte(ref byte val);
		int ReadShort(ref short val);
		int ReadInt(ref int val);
		uint ReadUnsignedInt(ref uint val);
		int ReadLong(ref long val);
		int Read(byte [] buffer,int start,int length);
		void Close();
	}
}
